package com.shop.cereshop.admin.dao.report;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.shop.cereshop.admin.page.report.ReportDetailVO;
import com.shop.cereshop.admin.page.report.ReportRecordPageVO;
import com.shop.cereshop.admin.param.report.ReportPageParam;
import com.shop.cereshop.commons.domain.report.CereReportRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 举报记录DAO
 *
 * @author
 */
@Mapper
public interface CereReportRecordDAO extends BaseMapper<CereReportRecord> {

    /**
     * 分页查询举报记录
     *
     * @param param 查询参数
     * @return 举报记录列表
     */
    List<ReportRecordPageVO> getReportPage(ReportPageParam param);

    /**
     * 获取举报详情
     *
     * @param reportId 举报ID
     * @return 举报详情
     */
    ReportDetailVO getReportDetail(@Param("reportId") Long reportId);

    /**
     * 统计举报数量
     *
     * @param param 查询参数
     * @return 举报数量
     */
    Integer countReports(ReportPageParam param);

    /**
     * 统计待审核举报数量
     *
     * @return 待审核举报数量
     */
    Integer countPendingReports();

    /**
     * 统计今日举报数量
     *
     * @return 今日举报数量
     */
    Integer countTodayReports();
}
